130 PRINT TAB(6);"The";N;"VALUES in sample";NS;"range from ";D1;" to ";D2;":"
140 PRINT TAB(27);"The difference between these values is";FD;"."
150 PRINT: PRINT TAB(10);: INPUT "What is the name of the FACTOR to be graphed? ",FCTR$
160 PRINT TAB(26);"What are the units of ";FCTR$;: INPUT "? ",FUNIT$
170 PRINT:PRINT TAB(10);"The maximum number of subintervals I can graph is 60.":PRINT TAB(7);"With this in mind, choose WIDTH of intervals for this graph:"
180 PRINT: PRINT TAB(13);: PRINT "Enter WIDTH of each cell (in ";FUNIT$;: INPUT "): ",FU
185 IF FD/FU>70 THEN BEEP: GOTO 170
190 LOCATE 22,32: COLOR 23: PRINT "CALCULATING";: COLOR 0
200 BT=INT(FD/FU)+7: HD=1: CC=1
210 ERASE CT,EXL: DIM CT(BT),EXL(BT)
220 EXL(1)=VAL(D1)-3*FU: IF VAL(D1)>=0 AND EXL(1)<0 THEN EXL(1)=0: SNM=FU ELSE SNM=EXL(1)
222 ENM=EXL(1)+BT*FU
225 IF ENM>99 THEN HD=HD*10: SNM=SNM/10: ENM=ENM/10: GOTO 225
230 IF ABS(SNM)<0.1 THEN HD=HD/10: SNM=SNM*10: GOTO 230
235 IF SNM<-99 THEN HD=HD*10: SNM=SNM/10: GOTO 235
238 IF EXL(1)<>0 THEN EXL(1)=INT(SNM*10)*(HD/10)
240 FOR T=1 TO N: VX=VAL(D(NS,CS(NS,T)))
250 IF VX<EXL(CC) THEN CT(CC)=CT(CC)+1: GOTO 270
260 CC=CC+1: EXL(CC)=EXL(CC-1)+FU: GOTO 250
270 NEXT
275 FOR Z=CC TO BT: EXL(Z)=EXL(Z-1)+FU: NEXT
280 CMX=1: FOR Z=1 TO BT: IF CT(Z)>CMX THEN CMX=CT(Z)
285 NEXT
300 SCREEN 2,1: OUT 985,1: CLS: PRINT TAB(15);"DATAFILE: ";FILE$;TAB(45);"SAMPLE: ";N$(NS)
305 XUI=20/CMX: CUIX=1: CUI=INT(XUI): IF XUI>5 THEN CUI=5 ELSE IF XUI<1 THEN CUIX=INT(1/XUI+1): CUI=1
320 FOR Z=1 TO CMX/CUIX: HL=171-Z*8*CUI: LINE (30,HL)-(34,HL): NEXT
330 NH=0: FOR Z=1 TO CMX/CUIX: HL=22-Z*CUI: NH=NH+CUIX: IF CUI=1 THEN IF Z MOD 2=0 THEN 340
335 LOCATE HL,1: PRINT USING "###";NH
340 NEXT
345 CHI=INT(70/BT): IF CHI>5 THEN CHI=5 ELSE IF CHI<1 THEN CHI=1
350 LHA=(BT+1)*CHI: LINE (34,171)-(LHA*8+34,171)
355 ZCHI=5/CHI: IF CHI>3 THEN ZCHI=2
360 FOR Z=1 TO BT: HL=34+8*CHI*Z
362 IF Z MOD ZCHI=1 THEN LINE (HL,171)-(HL,175) ELSE LINE (HL,171)-(HL,173)
365 NEXT
368 EXLH=EXL(BT)/HD: IF ABS(EXLH)<10 THEN P$="###.##" ELSE P$="###.#"
370 FOR Z=1 TO BT: IF Z MOD ZCHI<>1 THEN 390
380 HL=2+CHI*Z: LOCATE 23,HL: PRINT USING P$;EXL(Z)/HD;
390 NEXT
400 LOCATE 25,HL/2-5: PRINT FCTR$;" (";FUNIT$;: IF HD<>1 THEN PRINT " x";: PRINT USING "##^^^^";HD;: PRINT ")"; ELSE PRINT ")";
405 CHIP=CHI*8
410 FOR Z=1 TO BT: LLC=34+CHIP*(Z-1): RLC=LLC+CHIP
420 UC=171-INT(CT(Z)*CUI*8/CUIX): LINE (LLC,171)-(RLC,UC),,BF
430 NEXT
450 A$=INKEY$: IF A$="" THEN 450 ELSE IF LEN(A$)=2 THEN IF RIGHT$(A$,1)=CHR$(59) THEN 560 ELSE IF RIGHT$(A$,1)=CHR$(68) THEN 470 ELSE BEEP: GOTO 450 ELSE BEEP: GOTO 450
470 ON ERROR GOTO 660
480 OPEN "LPT1:" AS #1: WIDTH #1,255: DEF SEG=&HB800